home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / gfx / 3d / 3dgpl.lha / clipper.h < prev    next >
C/C++ Source or Header  |  2001-06-09  |  2KB  |  38 lines

  1. #ifndef _CLIPPER_H_
  2. #define _CLIPPER_H_
  3.  
  4. /** 3DGPL *************************************************\
  5.  *  ()                                                    *
  6.  *  Header for clipping functions.                        *
  7.  *                                                        *
  8.  *  clipp-2d.c               3-D volume and Z clipping;   *
  9.  *  clipp-3d.c               2-D plane clipping.          *
  10.  *                                                        *
  11.  *  (6/1995) By Sergei Savhenko. (savs@cs.mcgill.ca).     *
  12.  *  Copyright (c) 1995 Sergei Savchenko.                  *
  13.  *  THIS SOURCE CODE CAN'T BE USED FOR COMERCIAL PURPOSES *
  14.  *  WITHOUT AUTHORISATION                                 *
  15. \**********************************************************/
  16. #include <string.h>
  17. #include "hardware.h"           /* screen dimensions */
  18.  
  19. #define C_MAX_DIMENSIONS          5         /* dims in N-dimensional lines */
  20. #define C_Z_CLIPPING_MIN         10         /* where viewing plane is */
  21. #define C_X_CLIPPING_MIN          0         /* clipping cube */
  22. #define C_X_CLIPPING_MAX   HW_SCREEN_X_MAX
  23. #define C_Y_CLIPPING_MIN          0
  24. #define C_Y_CLIPPING_MAX   HW_SCREEN_Y_MAX
  25.  
  26. int C_volume_clipping(int *from,int *to,int *vertex,int dimension,int length);
  27.  
  28. int C_line_z_clipping(int **vertex1,int **vertex2,int dimension);
  29. int C_polygon_z_clipping(int *from,int *to,int dimension,int length);
  30.  
  31. int C_line_x_clipping(int **vertex1,int **vertex2,int dimension);
  32. int C_line_y_clipping(int **vertex1,int **vertex2,int dimension);
  33. int C_polygon_x_clipping(int *from,int *to,int dimension,int length);
  34.  
  35. /**********************************************************/
  36.  
  37. #endif
  38.